package com.project.service.impl;

import com.project.mapper.AdminMapper;
import com.project.pojo.Admin;
import com.project.pojo.Build;
import com.project.pojo.Notice;
import com.project.pojo.Room;
import com.project.service.AdminService;
import com.project.utils.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class AdminServiceImpl implements AdminService {

    @Autowired
    private AdminMapper adminMapper;

    /**
     * 更改管理员信息
     *
     * @param admin 管理员实体
     */
    @Override
    public void update(Admin admin) {
        //调用方法
        adminMapper.update(admin);
    }

    /**
     * 查询全部管理员
     *
     * @return
     */
    @Override
    public List<Admin> selectAllAdmin() {
        return adminMapper.selectAllAdmin();
    }

    /**
     * 查询管理员
     *
     * @param admin 管理员实体
     * @return
     */
    @Override
    public List<Admin> selectByInfo(Admin admin) {
        //调用方法
        return adminMapper.selectByInfo(admin);
    }

    /**
     * 登陆验证
     *
     * @param adminId
     * @param password
     * @return
     */
    @Override
    public Admin login(String adminId, String password) {
        //调用方法
        return adminMapper.login(adminId, password);
    }

    /**
     * 添加公告
     *
     * @param notice
     */
    @Override
    public void addNotice(Notice notice) {
        //调用方法
        adminMapper.addNotice(notice);
    }

    /**
     * 添加教学楼
     *
     * @param build
     */
    @Override
    public void addBuild(Build build) {
        //调用方法
        adminMapper.addBuild(build);
    }

    /**
     * 添加教室
     *
     * @param room
     */
    @Override
    public void addRoom(Room room) {
        //调用方法
        adminMapper.addRoom(room);
    }

    /**
     * 删除 公告
     *
     * @param noticeId
     */
    @Override
    public void deleteNotice(long noticeId) {
        //调用方法
        adminMapper.deleteNotice(noticeId);
    }

    /**
     * 更改公告
     *
     * @param notice
     */
    @Override
    public void updateNotice(Notice notice) {
        //调用方法
        adminMapper.updateNotice(notice);
    }

    /**
     * 更改教学楼信息
     *
     * @param build
     */
    @Override
    public void updateBuild(Build build) {
        //调用方法
        adminMapper.updateBuild(build);
    }

    /**
     * 更改教室信息
     *
     * @param room
     */
    @Override
    public void updateRoom(Room room) {
        //调用方法
        adminMapper.updateRoom(room);
    }

    /**
     * 查询所有公告
     *
     * @return
     */
    @Override
    public List<Notice> selectAllNotice() {
        return adminMapper.selectAllNotice();
    }

    /**
     * 查询所有教学楼
     *
     * @return
     */
    @Override
    public List<Build> selectAllBuild() {
        return adminMapper.selectAllBuild();
    }

    /**
     * 查询所有 教室
     *
     * @return
     */
    @Override
    public List<Room> selectAllRoom() {
        return adminMapper.selectAllRoom();
    }

}
